﻿using System;
using System.Web.UI;
using SisEagle.IView.Pedidos;
using SisEagle.View.Web.Base;
using System.Web.UI.WebControls;
using System.Data;

namespace SisEagle.View.Web.Pedidos
{
    public partial class CarrinhoCompras : WebPageBase, ICarrinhoComprasView
    {
        #region Singleton
        private SisEagleBO.CarrinhoComprasBO _CarrinhoComprasBusiness;
        private SisEagleBO.CarrinhoComprasBO CarrinhoComprasBusiness
        {
            get
            {
                if (_CarrinhoComprasBusiness == null)
                    _CarrinhoComprasBusiness = new SisEagleBO.CarrinhoComprasBO();

                return _CarrinhoComprasBusiness;
            }
        }

        #endregion

        #region Page-Load
        protected void Page_Load(object sender, EventArgs e)
        {
            CarregaGrid();

            inicialize();
            if (!IsPostBack)
            {
                
            }
        }
        private void inicialize()
        {
            btnLocalizar.Click += (btnLocalizar_Click);
            gridPedidos.PageIndexChanging += (gridPagamentos_PageIndexChanging);

        }

        void gridPagamentos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gridPedidos.PageIndex = e.NewPageIndex;
            gridPedidos.DataSource = BuscarPedidos();
            gridPedidos.DataBind();
        }

        private DataView BuscarPedidos()
        {
            DataView dv = new DataView();

            dv = CarrinhoComprasBusiness.FindAll().Tables[0].DefaultView;

            return dv;
        }
        #endregion

        #region Internal
        protected void btnLocalizar_Click(object sender, ImageClickEventArgs e)
        {
            CarregaGrid();
        }

        private void CarregaGrid()
        {
            gridPedidos.DataSource = ListaResultado;
            gridPedidos.DataBind();
        }


        #endregion

        #region Binding

        public int CodCarrinhoCompras
        {
            get
            {
                if (string.IsNullOrEmpty(txtCodigo.Text) || !(UtilsNumber.IsNumber(txtCodigo.Text)))
                {
                    return 0;
                }
                else
                    return Convert.ToInt32(txtCodigo.Text);

            }
            set
            {
                txtCodigo.Text = value.ToString();
            }
        }

        public int CodVenda
        {
            get
            {
                if (string.IsNullOrEmpty(txtCodVenda.Text) || !(UtilsNumber.IsNumber(txtCodVenda.Text)))
                {
                    return 0;
                }
                else
                    return Convert.ToInt32(txtCodVenda.Text);

            }
            set
            {
                txtCodVenda.Text = value.ToString();
            }
        }

        public int CodFuncionario
        {
            get
            {
                if (string.IsNullOrEmpty(UsFuncionario.ComboFuncionarios.SelectedValue) || !(UtilsNumber.IsNumber(UsFuncionario.ComboFuncionarios.SelectedValue)))
                {
                    return 0;
                }
                else
                    return Convert.ToInt32(UsFuncionario.ComboFuncionarios.SelectedValue);

            }
            set
            {
                UsFuncionario.ComboFuncionarios.SelectedValue = value.ToString();
            }
        }

        public int CodCliente
        {
            get
            {
                if (string.IsNullOrEmpty(UsCliente.ComboClientes.SelectedValue) || !(UtilsNumber.IsNumber(UsCliente.ComboClientes.SelectedValue)))
                {
                    return 0;
                }
                else
                    return Convert.ToInt32(UsCliente.ComboClientes.SelectedValue);

            }
            set
            {
                UsCliente.ComboClientes.SelectedValue = value.ToString();
            }
        }

        public int CodFormaPagamento
        {
            get
            {
                if (string.IsNullOrEmpty(UcCmbFormasPagamentos.ComboFormasPagamentos.SelectedValue) || !(UtilsNumber.IsNumber(UcCmbFormasPagamentos.ComboFormasPagamentos.SelectedValue)))
                {
                    return 0;
                }
                else
                    return Convert.ToInt32(UcCmbFormasPagamentos.ComboFormasPagamentos.SelectedValue);
            }
            set
            {

                UcCmbFormasPagamentos.ComboFormasPagamentos.SelectedValue = value.ToString();
            }
        }

        public System.Data.DataSet ListaResultado
        {
            get
            {

                if (CodCarrinhoCompras != 0)
                    return CarrinhoComprasBusiness.FindBy_CodCarrinhoCompras(CodCarrinhoCompras);
                                
                if (CodFuncionario != 0)
                    return CarrinhoComprasBusiness.FindBy_codFuncionario(CodFuncionario);

                if (CodCliente != 0)
                    return CarrinhoComprasBusiness.FindBy_codCliente(CodCliente);

                if (CodFormaPagamento != 0)
                    return CarrinhoComprasBusiness.FindBy_codFormaPagamento(CodFormaPagamento);
             
                else
                    return CarrinhoComprasBusiness.FindAll();

            }
            set
            {
                ListaResultado = value;
                CarregaGrid();
            }
        }
        #endregion

        protected void gridPedidos_RowDataBound(object sender, GridViewRowEventArgs e)
        {

            ImageButton imgVender = null;
            Label lblCodCarrinhoCompra = null;

            if (e.Row.HasControls())
            {
                lblCodCarrinhoCompra = (Label)e.Row.FindControl("lblCodCarrinhoCompra");
                imgVender = (ImageButton)e.Row.FindControl("imgVender");

                if ((lblCodCarrinhoCompra != null) && (imgVender != null))
                {
                    imgVender.PostBackUrl = "Selecionar_Produtos.aspx?codCarrinho=" + lblCodCarrinhoCompra.Text;
                
                }


            }


        }

    }
}